Factor Base
   HOME

TheInfoList



OR:

In
computational number theory In mathematics and computer science, computational number theory, also known as algorithmic number theory, is the study of computational methods for investigating and solving problems in number theory and arithmetic geometry, including algorithm ...
, a factor base is a small set of prime numbers commonly used as a mathematical tool in algorithms involving extensive
sieving A sieve, fine mesh strainer, or sift, is a device for separating wanted elements from unwanted material or for controlling the particle size distribution of a sample, using a screen such as a woven mesh or net or perforated sheet material. ...
for potential factors of a given integer.


Usage in factoring algorithms

A factor base is a relatively small
set Set, The Set, SET or SETS may refer to: Science, technology, and mathematics Mathematics *Set (mathematics), a collection of elements *Category of sets, the category whose objects and morphisms are sets and total functions, respectively Electro ...
of distinct
prime number A prime number (or a prime) is a natural number greater than 1 that is not a product of two smaller natural numbers. A natural number greater than 1 that is not prime is called a composite number. For example, 5 is prime because the only ways ...
s ''P'', sometimes together with -1. Say we want to factorize an integer ''n''. We generate, in some way, a large number of integer pairs (''x'', ''y'') for which x \neq \pm y, x^2 \equiv y^2 \pmod, and x^2 \pmod \texty^2 \pmod can be completely factorized over the chosen factor base—that is, all their prime factors are in ''P''. In practice, several integers ''x'' are found such that x^2 \pmod has all of its prime factors in the pre-chosen factor base. We represent each x^2 \pmod expression as a
vector Vector most often refers to: *Euclidean vector, a quantity with a magnitude and a direction *Vector (epidemiology), an agent that carries and transmits an infectious pathogen into another living organism Vector may also refer to: Mathematic ...
of a
matrix Matrix most commonly refers to: * ''The Matrix'' (franchise), an American media franchise ** ''The Matrix'', a 1999 science-fiction action film ** "The Matrix", a fictional setting, a virtual reality environment, within ''The Matrix'' (franchis ...
with integer entries being the exponents of factors in the factor base. Linear combinations of the rows corresponds to multiplication of these expressions. A linear dependence relation mod 2 among the rows leads to a desired congruence x^2 \equiv y^2 \pmod. This essentially reformulates the problem into a
system of linear equations In mathematics, a system of linear equations (or linear system) is a collection of one or more linear equations involving the same variable (math), variables. For example, :\begin 3x+2y-z=1\\ 2x-2y+4z=-2\\ -x+\fracy-z=0 \end is a system of three ...
, which can be solved using numerous methods such as
Gaussian elimination In mathematics, Gaussian elimination, also known as row reduction, is an algorithm for solving systems of linear equations. It consists of a sequence of operations performed on the corresponding matrix of coefficients. This method can also be used ...
; in practice advanced methods like the block Lanczos algorithm are used, that take advantage of certain properties of the system. This congruence may generate the trivial \textstyle n = 1 \cdot n; in this case we try to find another suitable congruence. If repeated attempts to factor fail we can try again using a different factor base.


Algorithms

Factor bases are used in, for example, Dixon's factorization, the
quadratic sieve The quadratic sieve algorithm (QS) is an integer factorization algorithm and, in practice, the second fastest method known (after the general number field sieve). It is still the fastest for integers under 100 decimal digits or so, and is considerab ...
, and the
number field sieve In number theory, the general number field sieve (GNFS) is the most efficient classical algorithm known for factoring integers larger than . Heuristically, its complexity for factoring an integer (consisting of bits) is of the form :\exp\left( ...
. The difference between these algorithms is essentially the methods used to generate (''x'', ''y'') candidates. Factor bases are also used in the
Index calculus algorithm In computational number theory, the index calculus algorithm is a probabilistic algorithm for computing discrete logarithms. Dedicated to the discrete logarithm in (\mathbb/q\mathbb)^* where q is a prime, index calculus leads to a family of algorit ...
for computing discrete logarithms.


References

{{DEFAULTSORT:Factor Base Integer factorization algorithms